home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CICA 1993 April
/
CICA MS Windows - April 1993.iso
/
unzipped
/
programr
/
listings
/
ptv2n5
/
desqtest.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1991-09-19
|
2KB
|
42 lines
PROGRAM DesqTest;
uses Dos { for MsDos procedure };
var
Reg : Registers; { Registers is defined in the Dos unit }
const
DESQview : boolean = false;
begin
{ See if DESQview is active. }
Reg.CX := $4445; { Put 'DESQ' into CX-DX so that }
Reg.DX := $5351; { DESQview will process this call. }
Reg.AX := $2B01; { DESQview uses DOS' set date function. }
MsDos(Reg); { This procedure does a DOS Interrupt $21. }
{ If no $FF error code is returned, DESQview trapped and
processed the interrupt before it could get to DOS. }
If Reg.AL <> $FF then
begin
WriteLn ('DESQview is running');
{ BX contains DESQview version, for example "2.26". }
WriteLn ('BH=',Reg.BH,', BL=',Reg.BL,
', DESQview version is ',Reg.BH,'.',Reg.BL);
DESQview := true; { Use this value at any later time. }
end;
{ Discard the remainder of this time slice. }
If DESQview then InLine (
$50/ { PUSH AX ; Save whatever is currently
in AX }
$B8/$101A/ { MOV AX,101Ah ; Function: switch to
DESQview's stack }
$CD/$15/ { INT 15h ; Make the call }
$B8/$1000/ { MOV AX,1000h ; Function: discard remaining
time slice }
$CD/$15/ { INT 15h ; Make the call }
$B8/$1025/ { MOV AX,1025h ; Function: switch from
DESQview's stack }
$CD/$15/ { INT 15h ; Make the call }
$58); { POP AX ; Restore AX }
end.